// Cache.js

class Cache {
  // 设置缓存
  static set(key, value) {
    try {
      // 将对象转为 JSON 字符串存储
      wx.setStorageSync(key, JSON.stringify(value));
    } catch (e) {
      console.error(`Error setting cache for key: ${key}`, e);
    }
  }

  // 获取缓存
  static get(key) {
    try {
      const value = wx.getStorageSync(key);
      // 尝试将 JSON 字符串解析为对象
      return value ? JSON.parse(value) : null;
    } catch (e) {
      console.error(`Error getting cache for key: ${key}`, e);
      return null;
    }
  }

  // 删除指定的缓存
  static delete(key) {
    try {
      wx.removeStorageSync(key);
    } catch (e) {
      console.error(`Error deleting cache for key: ${key}`, e);
    }
  }

  // 清空所有缓存
  static clear() {
    try {
      wx.clearStorageSync();
    } catch (e) {
      console.error('Error clearing cache', e);
    }
  }
}

export default Cache;
